package com.xydtech.ecard.config.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xydtech.common.annotation.Excel;
import com.xydtech.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 电子名片模块功能开关配置对象 ecard_module_info
 *
 * @author xydtech
 * @date 2024-10-18
 */
public class EcardModuleInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Long id;

    /**
     * 功能唯一标识
     */
    @Excel(name = "功能唯一标识", dictType = "ecard_module_type")
    private String moduleCode;

    /**
     * 功能名称
     */
    private String moduleName;

    /**
     * 功能LOGO
     */
    private String moduleLogo;

    /** 功能排序 */
    @Excel(name = "功能排序")
    private Long moduleSort;

    /** 功能类型 */
    @Excel(name = "功能类型", dictType = "ecard_ability_type")
    private String abilityType;

    /** 功能跳转类型 */
    @Excel(name = "功能跳转类型", dictType = "ecard_jump_type")
    private String jumpType;

    /** 功能跳转内容 */
    @Excel(name = "功能跳转内容")
    private String jumpContent;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 创建人ID
     */
    private Long creatorId;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String userName;

    /**
     * 归属法人
     */
    private Long deptId;

    /**
     * 归属法人
     */
    @Excel(name = "归属法人")
    private String deptName;

    /**
     * 状态0停用,1启用
     */
    private Integer state;

    /**
     * 状态0停用,1启用
     */
    @Excel(name = "状态")
    private String stateName;

    /** 字典机构查询条件 */
    private Long dictDeptId;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setModuleCode(String moduleCode) {
        this.moduleCode = moduleCode;
    }

    public String getModuleCode() {
        return moduleCode;
    }

    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    public String getModuleName() {
        return moduleName;
    }

    public void setModuleLogo(String moduleLogo) {
        this.moduleLogo = moduleLogo;
    }

    public String getModuleLogo() {
        return moduleLogo;
    }

    public Long getModuleSort() {
        return moduleSort;
    }

    public void setModuleSort(Long moduleSort) {
        this.moduleSort = moduleSort;
    }

    public String getAbilityType() {
        return abilityType;
    }

    public void setAbilityType(String abilityType) {
        this.abilityType = abilityType;
    }

    public String getJumpType() {
        return jumpType;
    }

    public void setJumpType(String jumpType) {
        this.jumpType = jumpType;
    }

    public String getJumpContent() {
        return jumpContent;
    }

    public void setJumpContent(String jumpContent) {
        this.jumpContent = jumpContent;
    }

    public void setCreationTime(Date creationTime) {
        this.creationTime = creationTime;
    }

    public Date getCreationTime() {
        return creationTime;
    }

    public void setCreatorId(Long creatorId) {
        this.creatorId = creatorId;
    }

    public Long getCreatorId() {
        return creatorId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getState() {
        return state;
    }

    public String getStateName() {
        return stateName;
    }

    public void setStateName(String stateName) {
        this.stateName = stateName;
    }

    public Long getDictDeptId() {
        return dictDeptId;
    }

    public void setDictDeptId(Long dictDeptId) {
        this.dictDeptId = dictDeptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("moduleCode", getModuleCode())
                .append("moduleLogo", getModuleLogo())
                .append("moduleSort", getModuleSort())
                .append("abilityType", getAbilityType())
                .append("remark", getRemark())
                .append("jumpType", getJumpType())
                .append("jumpContent", getJumpContent())
                .append("creationTime", getCreationTime())
                .append("creatorId", getCreatorId())
                .append("deptId", getDeptId())
                .append("state", getState())
                .append("dictDeptId", getDictDeptId())
                .toString();
    }
}
